Skip to content

[#358] 🤖 - Develop - #358

Merged
efraespada merged 11 commits into
masterfrom
develop
Sep 11, 2026
Merged

[#358] 🤖 - Develop#358
efraespada merged 11 commits into
masterfrom
develop

Conversation

@efraespada

@efraespada efraespada commented Sep 9, 2026

Copy link
Copy Markdown
Member

📌 Summary

Introduces durable, configurable release and hotfix orchestration with managed promotion PRs, event-driven continuation, publication verification, reconciliation, recovery, and durable Bugbot review-state presentation.


🎯 Related Issues / Tickets


🧩 Scope of Changes

  • Added:
    • Durable deployment state machine with schema-v3 snapshots and continuation workflows.
    • Configurable reconciliation, merge, cleanup, presentation, and issue-completion policies.
    • Merge-queue readiness validation and durable Bugbot review-state reconciliation.
    • Configuration validation, setup support, documentation, specifications, and traceability.
  • Updated:
    • Release, hotfix, pull request, commit, and deployment workflows.
    • Action routing, configuration persistence, GitHub adapters, setup templates, validators, and generated bundles.
    • npm publication verification and workflow contracts.
  • Removed:
    • Legacy deployed_action post-deployment flow.
    • Runner-blocking deployment merge waits and the merge-timeout input.
    • Deprecated ai-pull-request-description input.
  • Refactored:
    • Deployment orchestration into domain policies, application ports/use cases, and infrastructure adapters.
    • Bugbot review publication and lifecycle handling around durable, provider-neutral state.

🛠️ Technical Details

  • Releases use a frozen development-branch SHA and are promoted through a managed production PR.
  • Tags are created only at the accepted production commit; npm publication verifies immutable tag and gitHead identity.
  • PR completion triggers a separate continuation workflow instead of keeping the preparation runner active.
  • Durable snapshots support retries, duplicate events, blocked states, immutable tag reuse, and partial-failure recovery.
  • Configuration is bounded, validated before mutation, persisted with the operation, and documented.
  • Continuation validates operation identity, repository ownership, issue and branch pairing, stored SHAs, and production reachability.
  • Merge-queue readiness fails closed and evaluates effective branch protection, rulesets, workflow definitions, and exact attestations.
  • Bugbot findings are projected into durable review state with deterministic status cards, review navigation, and reconciled publication.
  • Generated workflows use trusted base-branch checkouts, scoped permissions, npm trusted publishing, and exclude credentials and OIDC claims from durable state.

🔍 How to Test

  1. Install dependencies with corepack pnpm@​10.12.4 install.
  2. Run corepack pnpm@​10.12.4 run typecheck, lint, and test:coverage.
  3. Run the workflow, documentation, build, package, specification, and generated-artifact validation commands listed in docs/development/testing.mdx.
  4. Exercise release and hotfix preparation, managed promotion PR completion, publication continuation, reconciliation, retry, blocked, duplicate-event, manual-mode, merge-queue, and Bugbot review-state paths using the added tests and workflow contract validators.
  5. Run git diff --check.

🧪 Test Coverage

  • Unit tests
  • Integration tests
  • End-to-end (E2E) tests
  • Manual testing only

Coverage includes deployment policies, state transitions, configuration validation, orchestration use cases, GitHub deployment repositories, merge-queue readiness, managed PR markers, Bugbot review reconciliation, security guards, workflow contracts, and architecture boundaries.


📸 Screenshots / Recordings (UI changes only)

Not applicable; user-facing changes are limited to GitHub issues, pull requests, workflow summaries, comments, and review state.


⚠️ Breaking Changes

  • The legacy deployed_action and label-driven post-deployment merge flow have been removed. Consumers must use durable deployment callback actions.
  • The merge-timeout and ai-pull-request-description inputs have been removed.
  • Durable configuration now requires schema version 3 and rejects missing, malformed, or older persisted payloads.
  • Consumer repositories must regenerate or update the release, hotfix, deployment-continuation, and merge-group workflow templates.

🚀 Deployment Notes

  • Requires database migration
  • Requires environment variable changes
  • Requires feature flag toggle
  • No special deployment steps

Details:

  • Regenerate or update consumer repositories with the release, hotfix, deployment-continuation, and merge-group workflow templates.
  • Configure repository Variables when overriding orchestration defaults.
  • For npm trusted publishing, configure the npm environment and GitHub Actions trusted publishers.
  • Ensure required checks support merge_group before selecting merge-queue mode.
  • Install the continuation workflow on the default branch before starting managed deployments.

🔒 Security Considerations

  • No security impact
  • Input validation changes
  • Authentication / authorization changes
  • Sensitive data handling changes

Continuation validates managed operation identity, repository ownership, issue and branch pairing, stored SHAs, and production reachability before mutation. Workflows use trusted base-branch checkouts and scoped permissions; credentials and OIDC claims are excluded from durable state. Merge-queue readiness fails closed for unknown or inaccessible checks.


📈 Performance Impact

  • No performance impact
  • Improves performance
  • Potential performance regression (explain)

PR checks and human review no longer occupy a runner while pending. Continuation workflows run only after relevant managed PR events, with bounded queue and job timeouts.


📝 Notes for Reviewers

Pay particular attention to:

  • State-machine transitions, retries, blocked states, and duplicate-event handling.
  • Production SHA, immutable tag, npm gitHead, and publication verification.
  • Reconciliation target and sync-branch selection.
  • Merge-queue readiness, workflow permissions, marker parsing, and merge-group compatibility.
  • Bugbot review-state identity, status projection, and publication reconciliation.
  • Consistency between Action inputs, setup templates, persisted configuration, documentation, and generated bundles.
  • Migration impact from removed legacy deployment actions and schema-v2 configuration.

✅ Checklist

  • I have self-reviewed my code
  • Code follows project standards and conventions
  • Tests have been added or updated
  • Documentation has been updated
  • No new warnings or lint errors
  • Breaking contract changes and required consumer updates are documented

📚 Additional Context

See Release and hotfix orchestration, configurable-release-orchestration.md, configurable-release-orchestration-traceability.md, and bugbot-review-state-reconciliation.md.

@docs-page

docs-page Bot commented Sep 9, 2026

Copy link
Copy Markdown

To preview the documentation for this pull request, visit the following URL:

docs.page/vypdev/copilot~358

Documentation is deployed and generated using docs.page

@vypbot vypbot changed the title Develop [#358] 🤖 - Develop Sep 9, 2026
@vypbot
vypbot self-requested a review September 9, 2026 20:50
@vypbot vypbot added this to vypdev Sep 9, 2026
@vypbot vypbot moved this to In Progress in vypdev Sep 9, 2026

@vypbot vypbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 2fec5c2. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem(s) when commit df97249 was analyzed. This snapshot is historical; use the status block above for current state.

Findings

  • medium: Merge-queue mode is accepted without workflow support validation — src/actions/github_action_execution.ts:81

Written by vypdev/copilot for commit df9724909f7ec33f4666eacac4d19e5c2098c6c2. This will update automatically on new commits.

Comment thread src/actions/github_action_execution.ts
@codecov-commenter

codecov-commenter commented Sep 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.33962% with 15 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.91%. Comparing base (45c9e54) to head (2fec5c2).

Files with missing lines Patch % Lines
src/actions/deployment_configuration_builder.ts 78.57% 5 Missing and 1 partial ⚠️
...plication/policies/bugbot_finding_status_policy.ts 44.44% 2 Missing and 3 partials ⚠️
src/actions/github_action_completion.ts 81.81% 3 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #358      +/-   ##
==========================================
+ Coverage   87.89%   87.91%   +0.02%     
==========================================
  Files         568      584      +16     
  Lines       12282    13822    +1540     
  Branches     2960     3559     +599     
==========================================
+ Hits        10795    12152    +1357     
- Misses        701      760      +59     
- Partials      786      910     +124     
Files with missing lines Coverage Δ
src/actions/configuration_builders.ts 100.00% <100.00%> (ø)
src/actions/github_action.ts 92.42% <ø> (ø)
src/actions/github_action_ai_inputs.ts 88.88% <ø> (+3.88%) ⬆️
src/actions/github_action_execution.ts 91.83% <100.00%> (+0.34%) ⬆️
src/actions/local_action_configuration_sections.ts 85.48% <100.00%> (+2.43%) ⬆️
src/actions/local_action_execution.ts 92.30% <ø> (ø)
src/api.ts 95.00% <100.00%> (+3.33%) ⬆️
src/application/contracts/input_keys.ts 100.00% <ø> (ø)
src/application/policies/action_summary_policy.ts 85.71% <100.00%> (+4.31%) ⬆️
src/application/policies/agent_activity_policy.ts 80.00% <100.00%> (ø)
... and 64 more

... and 70 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@vypbot

vypbot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

🪄 Automatic Actions

  1. Waiting state cleared.

image

Debug log
[DEBUG] Setup done. Issue number: 358, isSingleAction: false, isIssue: true, isPullRequest: false, isPush: false
[INFO] Added Copilot agent activity label on target #358.
[INFO] Running IssueCommentUseCase for issue #358.
[INFO] IssueCommentUseCase started.
[INFO] 🌐 Executing CheckIssueCommentLanguageUseCase.
[DEBUG] CheckIssueCommentLanguageUseCase: language check status=done.
[INFO] Skipping natural-language intent detection because the bot was not mentioned.
[INFO] Main run finished. Results: 1, total steps: 0.
[INFO] Removed Copilot agent activity label on target #358.
[INFO] Publishing result: 2 result(s), 1 step(s), 0 error(s).
[INFO] 📄 Executing PublishResultUseCase.

🚀 Happy coding!

Made with ❤️ by vypdev/copilot

@vypbot

vypbot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

🪄 Automatic Actions

  1. Waiting state cleared.

image

Debug log
[DEBUG] Setup done. Issue number: 358, isSingleAction: false, isIssue: true, isPullRequest: false, isPush: false
[INFO] Added Copilot agent activity label on target #358.
[INFO] Running IssueCommentUseCase for issue #358.
[INFO] IssueCommentUseCase started.
[INFO] 🌐 Executing CheckIssueCommentLanguageUseCase.
[DEBUG] CheckIssueCommentLanguageUseCase: language check status=done.
[INFO] Skipping natural-language intent detection because the bot was not mentioned.
[INFO] Main run finished. Results: 1, total steps: 0.
[INFO] Removed Copilot agent activity label on target #358.
[INFO] Publishing result: 2 result(s), 1 step(s), 0 error(s).
[INFO] 📄 Executing PublishResultUseCase.

🚀 Happy coding!

Made with ❤️ by vypdev/copilot

@vypbot vypbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 2fec5c2. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem(s) when commit 227e5ce was analyzed. This snapshot is historical; use the status block above for current state. 1 finding(s) are linked to changed code.

Findings

  • medium: Missing existing findings are treated as clean — src/application/usecases/steps/commit/bugbot/reconcile_bugbot_review_state_use_case.ts:169

Written by vypdev/copilot for commit 227e5ce249bd68bddbe3adf19985d9e3d149e7ff. This will update automatically on new commits.

@vypbot

vypbot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

🤖 Bugbot status

Current status: No active findings on 2fec5c2.

Action required: No action required.

Current state

State Count
Open / reopened 0
Verification required 0
Fixed 2
Obsolete 0
Dismissed 0
Unknown 0

Findings

Pull request · Verified commit · Workflow run

Technical details

Projection: complete · Analyzed head: 2fec5c2 · Digest: 994c5d25

No pending operations.

Written by vypdev/copilot for commit 2fec5c24a80135dd0611d3bc37e7dc3a8ab1b41a. This will update automatically on new commits.

@vypbot

vypbot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

🪄 Automatic Actions

  1. Waiting state cleared.

image

Debug log
[DEBUG] Setup done. Issue number: 358, isSingleAction: false, isIssue: true, isPullRequest: false, isPush: false
[INFO] Added Copilot agent activity label on target #358.
[INFO] Running IssueCommentUseCase for issue #358.
[INFO] IssueCommentUseCase started.
[INFO] 🌐 Executing CheckIssueCommentLanguageUseCase.
[DEBUG] CheckIssueCommentLanguageUseCase: language check status=done.
[INFO] Skipping natural-language intent detection because the bot was not mentioned.
[INFO] Main run finished. Results: 1, total steps: 0.
[INFO] Removed Copilot agent activity label on target #358.
[INFO] Publishing result: 2 result(s), 1 step(s), 0 error(s).
[INFO] 📄 Executing PublishResultUseCase.

🚀 Happy coding!

Made with ❤️ by vypdev/copilot

@vypbot

vypbot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

🪄 Automatic Actions

  1. Waiting state cleared.

image

Debug log
[DEBUG] Setup done. Issue number: 358, isSingleAction: false, isIssue: true, isPullRequest: false, isPush: false
[INFO] Added Copilot agent activity label on target #358.
[INFO] Running IssueCommentUseCase for issue #358.
[INFO] IssueCommentUseCase started.
[INFO] 🌐 Executing CheckIssueCommentLanguageUseCase.
[DEBUG] CheckIssueCommentLanguageUseCase: language check status=done.
[INFO] Skipping natural-language intent detection because the bot was not mentioned.
[INFO] Main run finished. Results: 1, total steps: 0.
[INFO] Removed Copilot agent activity label on target #358.
[INFO] Publishing result: 2 result(s), 1 step(s), 0 error(s).
[INFO] 📄 Executing PublishResultUseCase.

🚀 Happy coding!

Made with ❤️ by vypdev/copilot

@efraespada
efraespada merged commit 510f03e into master Sep 11, 2026
16 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in vypdev Sep 11, 2026
@vypbot

vypbot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

✨ Feature Actions

  1. Lifecycle state synchronized to verified.

  2. Waiting state cleared.

image

Debug log
[DEBUG] Setup done. Issue number: 358, isSingleAction: false, isIssue: false, isPullRequest: true, isPush: false
[INFO] Running PullRequestUseCase for PR #358.
[INFO] 🔀 Executing PullRequestUseCase.
[DEBUG] PR action closed
[DEBUG] PR isOpened false
[DEBUG] PR isMerged true
[DEBUG] PR isClosed true
[INFO] ✅ Executing CloseIssueAfterMergingUseCase.
[DEBUG] Issue #358 state: closed
[DEBUG] Issue #358 is already closed.
[DEBUG] Issue #358 was already closed or close failed after merge.
[INFO] Main run finished. Results: 1, total steps: 0.
[INFO] Publishing result: 2 result(s), 2 step(s), 0 error(s).
[INFO] 📄 Executing PublishResultUseCase.

🚀 Happy coding!

Made with ❤️ by vypdev/copilot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants